package com.taijihuabao.modules.entity;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.taijihuabao.common.commonutils.LongToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.ToString;

import java.util.Date;

/**
 * 新非车报销数据的实体类
 * @title: ReimbursementEntity
 * @Author luoxianan
 * @Date: 2022/1/12 10:11
 * @Version 1.0
 */
@Data
@EqualsAndHashCode(callSuper=false)
@ToString(callSuper = true)
@ApiModel("报销单类")
public class ReimbursementEntity extends BaseEntity{

    /**
     * 报销序号
     */
    @ExcelIgnore
    @ApiModelProperty(value = "报销序号")
    @JsonSerialize(using = LongToStringSerializer.class)
    private Long id;

    @ExcelProperty(index = 0,value = "报销序号")
    @ApiModelProperty(value = "报销序号")
    private String  expenseId;
    /**
     * 报销人
     */
    @ExcelProperty(index = 1,value = "报销人")
    @ApiModelProperty(value = "报销人")
    private String  expenseName;
    /**
     *员工编号
     */
    @ExcelProperty(index = 2,value = "员工编号")
    @ApiModelProperty(value = "员工编号")
    private String  staffCode;
    /**
     *所属部门
     */
    @ExcelProperty(index = 3,value = "所属部门")
    @ApiModelProperty(value = "所属部门")
    private String  staffDept;
    /**
     *项目编号
     */
    @ExcelProperty(index = 4,value = "项目编号")
    @ApiModelProperty(value = "项目编号")
    private String  projectId;
    /**
     *费用产生日期
     */
    @ExcelProperty(index = 5,value = "费用产生日期")
    @ApiModelProperty(value = "费用产生日期")
    @JsonFormat(shape = JsonFormat.Shape.STRING,pattern="yyyy/MM/dd",timezone = "GMT+8")
    private Date costProduceDate;

    @ExcelProperty(index = 6,value = "费用类别")
    @ApiModelProperty(value = "费用类别")
    private String costCoteGary;
    /**
     *报销事由
     */
    @ExcelProperty(index = 7,value = "报销事由")
    @ApiModelProperty(value = "报销事由")
    private String  expenseReason;
    /**
     *单据张数
     */
    @ExcelProperty(index = 8,value = "单据张数")
    @ApiModelProperty(value = "单据张数")
    private String billNumber;
    /**
     *报销金额
     */
    @ExcelProperty(index = 9,value = "报销金额")
    @ApiModelProperty(value = "报销金额")
    private Double  expenseMoney;
}
